GtkSwitchPrivate *priv = GTK_SWITCH (widget)->priv;
if (event->window == priv->event_window)
- priv->in_switch = TRUE;
+ {
+ priv->in_switch = TRUE;
+ gtk_widget_queue_draw (widget);
+ }
return FALSE;
}
GtkSwitchPrivate *priv = GTK_SWITCH (widget)->priv;
if (event->window == priv->event_window)
- priv->in_switch = FALSE;
+ {
+ priv->in_switch = FALSE;
+ gtk_widget_queue_draw (widget);
+ }
return FALSE;
}
cairo_t *cr,
GdkRectangle *box)
{
+ GtkSwitchPrivate *priv = GTK_SWITCH (widget)->priv;
GtkStyleContext *context = gtk_widget_get_style_context (widget);
+ GtkStateFlags state = gtk_widget_get_state_flags (widget);
gtk_style_context_save (context);
+ if (priv->in_switch)
+ state |= GTK_STATE_FLAG_PRELIGHT;
+ gtk_style_context_set_state (context, state);
gtk_style_context_add_class (context, GTK_STYLE_CLASS_SLIDER);
gtk_render_slider (context, cr,